Enabling Speculative Parallelization via Merge Semantics in STMs

نویسندگان

  • Kaushik Ravichandran
  • Santosh Pande
چکیده

STM (Software Transactional Memory) systems can be used to speculatively parallelize irregular applications such as those based on graphs and trees. While the transactional paradigm is suitable for such speculative parallelization, STMs do not deal with the semantics of speculation. In this paper we introduce merge semantics for speculations. STMs optimistically execute code and monitor the execution for memory access conflicts. On detecting a conflict between a pair of transactions the STM performs a rollback on one of them, discarding all the work that has been done until that point. This wastage leads to performance and scalability issues when there are many transactional conflicts. The key insight of this paper is that it is sometimes possible to salvage partially completed work and merge it with the other transaction. In this paper we motivate the need for the merge construct and develop the ideas behind it. We propose a simple API which can be used to define the merge operation. We discuss applications which would benefit from this construct. We implement the supporting framework and demonstrate its benefits on a Connected Components benchmark and a Minimum Spanning Tree benchmark. We report performance improvements of more than 75% when compared to a traditional STM parallelization of the Minimum Spanning Tree benchmark. Our framework also demonstrates excellent scalability when there are a large number of conflicts, a scenario where traditional STM systems do not scale well.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Optimizing Software Transactional Memory Replication via Speculation

Software Transactional Memories (STMs) are emerging as a potentially disruptive programming paradigm. Due to scalability and fault-tolerance requirements, Distributed STMs (DSTMs) are receiving more attention. Database management systems and STMs share the same key abstraction: atomic transactions. However, database and memory transactions have very distinct characteristics. Database replicatio...

متن کامل

Parallelizing Database Systems using Thread Level Speculation

Improving the performance of a program by splitting it into threads is hard, since a parallel machine model is more complex than a sequential one. Thread Level Speculation (TLS) allows a program to be parallelized while retaining sequential program semantics. In the past TLS has been shown to make automatic parallelization of programs much easier—in this paper we show that TLS makes manual para...

متن کامل

Automatic Exploitation of Input Parallelism

Parallelism may reside in the input of a program rather than the program itself. A script interpreter, for example, is hard to parallelize because its dynamic behavior is unpredictable until an input script is given. Once the interpreter is combined with the script, the resulting program becomes predictable, and even parallelizable if the input script contains parallelism. Despite recent progre...

متن کامل

Helper Transactions: Enabling Thread-Level Speculation via A Transactional Memory System

As multi-core processors become readily available in the market, how to exploit parallelization opportunities to unleash the performance potential has become the utmost concern. Thread-Level Speculation (TLS) has been studied as one such enabling technique to automatically extracting possibly nonconflicting threads for execution in a program. On the other hand, transactional memory (TM) systems...

متن کامل

System Support for Implicitly Parallel Programming

Implicit parallelization involves developing parallel algorithms and applications in environments that provide sequential semantics, e.g., the C programming language. System tools convert the parallel algorithms into a set of threads partitioned appropriately for a particular parallel machine organization. The resulting parallel programs are easier and faster to develop, debug and maintain, bec...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2013